package com.carl.method;


//守护线程

//实际上，当您启动了线程t1后，
// JVM已经开始执行这个线程了。
// 但是，
// 由于t1被设置为守护线程（t1.setDaemon(true);），
// 它会随着主线程的结束而结束。
// 这意味着，如果主线程没有显式地等待t1完成
// （比如通过调用t1.join()方法），
// 那么一旦主线程执行完毕，JVM就会退出，
// 此时即便t1还在执行中也会被中断，
// 导致可能看不到任何输出。
public class method_07 {
    public static void main(String[] args) {
        Thread t1 = new Thread(() -> {
            for (int i = 0; i < 10; i++) {
                System.out.println("t1:" + i);
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        });
        t1.setDaemon(true);
        t1.start();
        try {
            t1.join(); // 等待t1线程结束,等于是插队执行
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

    }
}
